package com.zcxy.fast.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zcxy.fast.bean.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 平台-菜单表
 *
 * @author zcc
 * @email  860474958@qq.com
 * @date   2021-02-02 08:48:57
 */
@Data
@TableName(value ="sys_menu",autoResultMap = true)
@ApiModel(value = "SysMenu", description = "平台-菜单表")
public class SysMenu extends BaseEntity {

    @NotEmpty(message = "menuType为必填字段")
    @Length(max = 1, message = "menuType 超出最大长度：1")
    @ApiModelProperty(value = " 菜单类型", required = false)
    private String menuType ;

    @NotEmpty(message = "name为必填字段")
    @Length(max = 256, message = "name 超出最大长度：256")
    @ApiModelProperty(value = " 菜单名称", required = false)
    private String name ;

    @Length(max = 128, message = "url 超出最大长度：128")
    @ApiModelProperty(value = " 菜单路径", required = false)
    private String url ;

    @Length(max = 128, message = "component 超出最大长度：128")
    @ApiModelProperty(value = " 前端组件", required = false)
    private String component ;

    @Length(max = 256, message = "redirect 超出最大长度：256")
    @ApiModelProperty(value = " 默认跳转", required = false)
    private String redirect ;

    @Length(max = 50, message = "icon 超出最大长度：64")
    @ApiModelProperty(value = " 图标", required = false)
    private String icon ;

    @Length(max = 255, message = "vueRouter 超出最大长度：1")
    @ApiModelProperty(value = " 菜单路由", required = false)
    private String vueRouter ;

    @ApiModelProperty(value = " 排序", required = false)
    private Integer orderNo ;

    @Length(max = 50, message = "parentId 超出最大长度：32")
    @ApiModelProperty(value = " 父菜单id", required = false)
    private String parentId ;

    @Length(max = 512, message = "remark 超出最大长度：512")
    @ApiModelProperty(value = " 备注", required = false)
    private String remark ;

    @Length(max = 50, message = "perms 超出最大长度：64")
    @ApiModelProperty(value = " 权限标识字符串", required = false)
    private String perms ;

    @Length(max = 1, message = "permsStatus 超出最大长度：1")
    @ApiModelProperty(value = " 权限状态", required = false)
    private String permsStatus ;

    @Length(max = 1, message = "leafFlag 超出最大长度：1")
    @ApiModelProperty(value = " 是否叶子节点(0否1是)", required = false)
    private String leafFlag ;

    @Length(max = 1, message = "sysType 超出最大长度：1")
    @ApiModelProperty(value = "  预留", required = false)
    private String sysType ;

    @Length(max = 1, message = "status 超出最大长度：1")
    @ApiModelProperty(value = " 状态(0停用1正常)", required = false)
    private String status ;

    @TableId(type = IdType.UUID)
    @Length(max = 32, message = "id 超出最大长度：32")
    @ApiModelProperty(value = " 主键", required = false)
    private String id ;



}
